package leetcode.editor.cn.q0xx

class Q66 {
    fun plusOne(digits: IntArray): IntArray {
        var needAddOne = true
        for (i in digits.indices.reversed()) {
            if (!needAddOne) break
            val temp = digits[i] + 1
            if (temp == 10) {
                digits[i] = 0
            } else {
                digits[i] = temp
                needAddOne = false
            }
        }
        return if (needAddOne)
            IntArray(digits.size+1) {
                if (it==0) 1 else digits[it-1]
            }
        else digits
    }
}